package com.irdstudio.efp.console.service.impl;

import com.irdstudio.basic.framework.core.base.FrameworkService;
import com.irdstudio.efp.console.service.dao.KubUserDao;
import com.irdstudio.efp.console.service.domain.KubUser;
import com.irdstudio.efp.console.service.facade.KubUserService;
import com.irdstudio.efp.console.service.vo.KubUserVO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * Service Impl: 柜员表服务实现
 *
 * @author gcb
 * @date 2020-08-10
 */
@Service("kubUserService")
public class KubUserServiceImpl implements KubUserService, FrameworkService {

    private static Logger logger = LoggerFactory.getLogger(KubUserServiceImpl.class);

    @Autowired
    private KubUserDao kubUserDao;

    /**
     * 新增数据
     *
     * @param kubUserVo
     * @return
     */
    @Override
    public int insert(KubUserVO kubUserVo) throws Exception {
        KubUser kubUser = new KubUser();
        beanCopy(kubUserVo, kubUser);
        return kubUserDao.insert(kubUser);
    }

    /**
     * 根据主键删除信息
     *
     * @param kubUserVo
     * @return
     */
    @Override
    public int deleteByPk(KubUserVO kubUserVo) throws Exception {
        KubUser kubUser = new KubUser();
        beanCopy(kubUserVo, kubUser);
        return kubUserDao.deleteByPk(kubUser);
    }

    /**
     * 根据主键更新信息
     *
     * @param kubUserVo
     * @return
     */
    @Override
    public int updateByPk(KubUserVO kubUserVo) throws Exception {
        KubUser kubUser = new KubUser();
        beanCopy(kubUserVo, kubUser);
        return kubUserDao.updateByPk(kubUser);
    }

    /**
     * 根据主键查询详情
     *
     * @param inKubUserVo
     * @return
     */
    @Override
    public KubUserVO queryByPk(KubUserVO inKubUserVo) throws Exception {
        KubUser queryKubUser = new KubUser();
        beanCopy(inKubUserVo, queryKubUser);
        KubUser queryRslKubUser = kubUserDao.queryByPk(queryKubUser);
        return beanCopy(queryRslKubUser, new KubUserVO());
    }
}
